package pers.zh.parking.di.component;

import dagger.BindsInstance;
import dagger.Component;

import com.jess.arms.di.component.AppComponent;

import pers.zh.parking.di.module.ReservationModule;
import pers.zh.parking.mvp.contract.ReservationContract;

import com.jess.arms.di.scope.ActivityScope;

import pers.zh.parking.mvp.ui.activity.ReservationActivity;

@ActivityScope
@Component(modules = ReservationModule.class, dependencies = AppComponent.class)
public interface ReservationComponent {

    void inject(ReservationActivity activity);

    @Component.Builder
    interface Builder {

        @BindsInstance
        ReservationComponent.Builder view(ReservationContract.View view);

        ReservationComponent.Builder appComponent(AppComponent appComponent);

        ReservationComponent build();
    }
}